@echo off
chcp 65001 >nul
echo ========================================
echo 测试重复待办任务修复
echo ========================================

echo.
echo 问题：发送申请后提交四条退住待办任务，正常应该是两条
echo 原因：insertCheckOutManagement和insertAccraditationRecord都创建了待办任务

echo.
echo 问题分析：
echo 1. insertCheckOutManagement方法（初始申请提交）：
echo    - 步骤7：保存我的申请（第1条待办任务）
echo    - 步骤8：保存下一个人的待办任务（第2条待办任务）
echo    - 步骤6：调用insertAccraditationRecord保存审批记录
echo.
echo 2. insertAccraditationRecord方法（审批记录保存）：
echo    - 在我们之前的修改中，添加了创建待办任务的逻辑
echo    - 创建下一个待办任务（第3条待办任务）
echo    - 创建审批人待办任务（第4条待办任务）
echo.
echo 3. 重复原因：
echo    - insertCheckOutManagement创建2条任务
echo    - insertAccraditationRecord又创建2条任务
echo    - 总共4条任务

echo.
echo 修复方案：
echo 1. 在insertAccraditationRecord中添加步骤判断
echo 2. 如果stepNo == 1（初始申请），跳过待办任务创建
echo 3. 只有审批步骤（stepNo > 1）才创建待办任务

echo.
echo 修复代码：
echo // 如果是初始申请（步骤1），不创建待办任务，因为insertCheckOutManagement已经创建了
echo if (accraditationRecord.getStepNo() != null ^&^& accraditationRecord.getStepNo() == 1L) {
echo     System.out.println("=== 步骤1：初始申请，跳过待办任务创建 ===");
echo     return i;
echo }

echo.
echo 测试步骤：
echo 1. 在退住办理页面点击"发起退住申请"
echo 2. 填写申请信息（选择老人、填写退住日期和原因）
echo 3. 点击"提交"
echo 4. 检查待办任务表，应该只有2条新任务：
echo    - 我的申请（申请人的任务，isHandle=1）
echo    - 下一个待办任务（审批员的任务，isHandle=0）

echo.
echo 预期结果：
echo - 提交申请后只生成2条待办任务
echo - 不再重复创建额外的2条任务
echo - 步骤1为初始申请，跳过insertAccraditationRecord的任务创建逻辑
echo - 步骤2及以上为审批步骤，正常创建待办任务

echo.
echo 数据验证SQL：
echo SELECT id, bussniess_id, title, type, is_handle, step_no, create_time
echo FROM pending_tasks
echo WHERE bussniess_id = (SELECT MAX(id) FROM check_out_management)
echo ORDER BY create_time DESC;

echo.
echo 修复完成！
pause
